Summary:
In the lock screen the user delegate has to elide the text when there
are multiple items next to each other, otherwise it will overlap.
When there's only one item (which is quite common) we don't need to
and doing so looks weird.
Test Plan:
Modified SDDM dummydata/userModel to have one entry with a long name
and back to multiple entries.
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: broulik, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7472
Summary: Not sure what I was thinking when I wrote it.
Test Plan:
Grepped m is not used in file.
Grepped it's not used in any other users of the delegate
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7473
Summary:
KRunner now supports querying data from running processes rather than
being plugins.
Due the number of crash reports of Baloo in both krunner and more
importantly plasmashell, we can move this out of process to make the UX
better in the event of an issue.
This also means we share the database instance between both krunner and plasmashell.
Test Plan:
Searched, typing really quickly
All works as before; including forcing a delay when you only type a few letters
Results are just as fast as before to the human eye (bustle show calls as 0ms)
Tested open with folder and open normally actions
Tested dragging from krunner to dolphin
Tested we had correct icons
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: broulik, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7404
Summary:
For url with parameter like audiocd:/1.wav?device=/dev/sr0, the filename
displayed in notifications applet is not correct ("sr0") instead of 1.wav.
This commit try to remove the query string before extract the last path
component.
Test Plan: Manually with audiocd-kio
Reviewers: mart, davidedmundson
Reviewed By: davidedmundson
Subscribers: davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D4879
Summary:
Setting the style manually is necessary as there is only a variable that
applies to both quick controls versions, so it needs to be overwritten to not
cause a warning on every application start. The current way of setting it directly
got defeated by ugly bugs in QQuickControlSettings1, which need to be worked around.
See the added comments for an explanation.
Test Plan:
Set the variables manually, now works consistently everywhere without showing warnings.
For some reason I feel much dirtier now.
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7381
Summary:
The directory containing the main application (read through argv[0]) is
by default added to the list of paths containing libraries.
This causes various methods to iterate through all entries of the plasmashell
install location, usually /usr/bin.
By explicitly removing the path, those unnecessary lookups can be avoided,
resulting in around 100ms quicker startup on a system with 4000 entries in
/usr/bin.
Test Plan:
Ran plasmashell with and without this fix, no changes except for a slightly
quicker startup and much less strace noise.
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7255
This allows adding images (for image wallpaper) and folders (for slideshow) by dragging them into the list of images/folder.
Differential Revision: https://phabricator.kde.org/D6568
Summary:
Bug 378032.
With these changes, notifications can be configured to always persist in the notifications applet.
Todo: filter by application, see https://bugs.kde.org/show_bug.cgi?id=378032#c27
Test Plan: Open the notification plasmoid's settings. Check 'Show a history of notifications'. Trigger some notifications. They should show up in the applet.
Reviewers: #plasma, #vdg, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: mart, graesslin, davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7271
While I'm usually a huge fan of States, this is done only half-way with States in the compact
representation (NotificationIcon) overwriting the plasmoid's state in addition to there being
a binding on it in main.qml.
It also used a "default" state (note: the default state in QML is empty string) in addition to
assigning default values on items themselves anyway.
This seems to shift evaluation of bindings into an order where we first stop the BusyIndicator
and then become passive, moving the the systray popup, working around the Qt crash we're seeing.
It's a nice clean up in any case imho.
CCBUG: 381105
Differential Revision: https://phabricator.kde.org/D7319
Summary:
It does explicitly what the comment above the export implies.
That way this warning on every use of Quick Controls 1 is gone:
WARNING: Cannot find style "org.kde.desktop" - fallback: "/usr/lib64/qt5/qml/QtQuick/Controls/Styles/Desktop"
Note that I'm not 100% sure that this does not have any
ill side effects as I don't quite understand what and where
org.kde.desktop is supposed to be.
Test Plan:
Started plasmashell and plasma-discover both with and without
the change, no difference except that the warning is now gone.
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7257
It is still set for when a source is applied for the next
transistion.
Summary:
This saves evaluating a new paintedSize and doing a bunch of evaluations
which are not used.
More importantly it works round a Qt animation crash.
fadeAnim.running is bound to otherImage.status !== loading
with the intention of delaying animations until the images are really
loaded.
By setting the fill mode and then the source, we go to loading and back,
effectively restarting the animation from within the animation.
This leads to a crash.
CCBUG: 381105
Test Plan:
End user result is the same.
Reviewers: #plasma, broulik, mart
Reviewed By: #plasma, broulik, mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7248
Summary:
comment gets converted to summary in appstream data and summaries are
required, without it we'll fail the appstream test.
Reviewers: apol
Reviewed By: apol
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7070
Summary:
Currently X and Xwayland (unless set otherwise) defaults to a DPI of 96.
GTK on wayland (unless set otherwise) defaults to a DPI of 96.
Qt (currently) defaults to physical size/resolution. This leads to
reports that Wayland looks big.
Qt is potentially also changing to 96 for > Qt5.10.
(it's in review at the time of writing)
Now kwin has proper scaling support, legacy apps get scaled by the
compositor without font hacks, and apps that scale themselves need a
non-scaled font DPI. (i.e a 4k screen at 2x still wants a DPI of 96 not
184).
We want to change the wayland scale factor not the font.
If a user does override this setting that override will still work.
BUG: 374978
Test Plan:
don't have this setting explcitly set
dolphin --platform wayland and dolphin --platform xcb have everything
the same size. Even on a scaled display where one is scaled up by the
compositor and one is native.
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7185
Summary:
KWindowSystem::platform() cannot be used before QApplication is
constructed.
QCoreApplication::setAttribute needs to be called before QApplication is
constructed.
We need a different method. I've used an explicit new env variable so
that some users can also opt in to use this when on X.
Test Plan:
Logged in.
Plasma panels all work. Look to be native resolution.
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: mart, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7200
Summary:
I've done this only when on Wayland because:
On X, our own scaling to font generally works well.
There are bugs on older Qt, especially when it comes to fractional
scaling, and we can't support per screen scales anyway.
There's advantages to disabling, and (other than small context menu
icons) few advantages in enabling
On wayland, it's different. Everything is simpler as all co-ordinates
are in the same co-ordinate system
we don't have fractional scaling on the client so don't hit most the
remaining bugs and
even if we don't use Qt scaling the compositor will try to scale us
anyway so we have no choice
CCBUG: 356446
Test Plan:
Had this for about a week on my laptop.
Haven't noticed a single problem.
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: mart, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7188
In QtQuick Layouts implicit size, which is taken from the SVG's preferred size, takes
precedence potentially destroying the layout.
Also, it should have been medium to be consistent with the rest.
BUG: 383213
FIXED-IN: 5.8.8
Summary:
TaskGroupingProxyModel uses a simple QVector<QVector<int>> populated
with source model row indices to represent the task group tree. To
implement QAbstractItemModel::parent(), its implementation of index()
encodes row indices of the top-level vector into the internal ids of
child item model indices. This allows parent() to produce the parent
model index by simply decoding the parent row from the passed-in child
index and call index() with that row.
Top-level row indices shift up and down as the list of top-level items
changes, invalidating those internal ids. QModelIndex is not meant to
be stored, and the proxy model does take care of updating any persis-
tent model indexes with new ids, so this should be fine.
However, where it falls apart is that as internal ids are invalidated,
a QSortFilterProxyModel on top of this proxy (i.e. TasksModel) may end
up with multiple indexes with identical internal ids in its mappings,
causing it to mess up its mappings as it uses them (e.g. taking things
from them). This causes the often-reported crash/assert there.
The fix is to refactor index()/parent() not to rely on row indices as
internal ids, but instead use pointers to internal data structures
instead.
This patch achieves this by changing the map to QVector<QVector<int> *>.
This screams fugly, but the alternative would basically just be to
create some wrapper struct to hide the fugly appeareance a little,
which I don't think is worth it.
On the flip side, it saves a QVector::replace() call as a multable
vector iterator can work directly on a vector without making a copy,
and it's now no longer necessary to manually update the persistent
model indices beyond what endRemoveRows() does implicitly.
BUG:381006
Reviewers: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7139
Summary:
Windows we can't find an app icon for using the normal means
get the icon used by the windowing system in the Task Manager.
This fallback icon was then not updated when changed on the
window, only occasionally as a side-effect of cache evictions
and model data requests.
This patch notes which windows hit the fallback path, and for
those windows evicts the cache when the icon changes on the
window, causing it to be re-retrieved from the windowing system
as views respond to the dataChanged signal for the decoration
role.
Evicting the entire cache is a little bit costly, but:
- This is a fallback codepath.
- Apps conventionally update title and icon in one go, meaning
the cache is often already getting evicted anyway.
- Icons don't change that often.
BUG:383017
Reviewers: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7092
KCMs can be individually disabled by KIOSK if desired but wallpaper configuration cannot (unless you lock down
Plasma completely). Hence, at least honoring the ghns restriction here, until we have a proper solution
(that is a QtQuick equivalent of KNS3::Button).
Also, KNS3::DownloadDialog refuses to open when ghns is restricted *but* this applies only to using open()
or exec() but not a blatant show() we do from QML.
Differential Revision: https://phabricator.kde.org/D7086
Summary: active is unused, don't declare it
Test Plan: no compiler warning raised about the unused var anymore
Reviewers: apol
Reviewed By: apol
Subscribers: anthonyfieroni, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D7065
* Make links clickable again
* Don't pass visualParent to context menu as we already give it a position, fixes it being positioned incorrectly
* Open context menu on press already like is done everywhere else
* Give "Copy" the edit-copy icon
* Deselect text after copying again, otherwise it stays selected but the user cannot unselect it.
BUG: 382263
FIXED-IN: 5.10.5
Differential Revision: https://phabricator.kde.org/D7029