Summary:
It wasn't ported before due to the slot being overloaded.
Code became cleaner if we renamed one of the private slots.
Test Plan: Compiles
Reviewers: #plasma, sitter
Reviewed By: sitter
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D22841
Summary: It seems it's unused and also is the only source code in all of the KDE repos that uses kjsembed
Reviewers: davidedmundson
Reviewed By: davidedmundson
Subscribers: apol, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D22691
Summary:
Ejecting e.g. a USB stick removes it from the bus (bus power is removed),
but the last notification should be kept, otherwise a message like
"The device can be savely removed" immediately disappears.
Unfortunately it is almost impossible to tell when a device has been
physically removed (only indirectly, when a new device is plugged into
the same port), so allow some small leakage - in case the same device is
later replugged, no leakage happens.
Test Plan:
Card reader:
1.insert medium, mount, unmount
-> message "Device can be savely removed" is shown in device notifier
for 5 seconds
2. eject medium, reinsert
-> device appears without message and with default label
Reviewers: #plasma, broulik, ngraham
Reviewed By: ngraham
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D22312
Summary:
it was the only remaining user of that dialog helper.
the connection between the two was fairly meh. the engine would invoke the
kded module over dbus, the module would then process the request, find that
only one desktop entry is specified, resulting in one action being found
and then running that action on behalf of the engine. this is overly
complicated for no additional gain. the engine is the sole user of this
functionality AND it already had knowledge of the service system, so
soliduiserver in this case doesn't actually add anything. it's just a more
involved call chain.
the useful code of soliduiserver is now in the hotplug dataengine directly
and the soliduiserver no longer supports the actions dialog. hotplug is now
the sole authority for hotplugging.
soliduiserver:
- include cleanup
- all classes no longer in use have been removed
- kdelibs4support is no longer a link target
- new link targets i18n + widgetsaddons (previously pulled in by
kdelibs4support)
hotplug:
- hotplugjob now directly executes service actions using classes imported
from soliduiserver
- no longer links qtdbus
- new translation domain plasma_engine_hotplug (for i18n call in imported
service classes)
- new link against ki18n for that reason
Test Plan: running an action works same as before, internally it no longer relies on dbus/kded
Reviewers: broulik
Reviewed By: broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D21761
Summary:
this engine is not used anywhere!
the engine used kfilemetadata to obtain metadata of a file. KFM however
is entirely defunct and does absolutely nothing without nepomuk.
that is to say: it is already broken for years and in fact not even
correctly sets the item.type key because of how the original code worked.
this change drops the kfilemetdata use altogether and instead sets the
item.type (which we can easily determine) to file when working with a file
in theory (I think) Baloo/File is the modern replacement for kfilemetadata,
but its properties are no longer "stringy" so we'd have to map a huge
enum manually into stringy keys for our representation. which at this time
seems not worth it, considering we (KDE) do not seem to use the engine
anymore and third parties would have had an entirely broken engine WRT file
sources as well, so I am guessing no one outside KDE uses it either.
all things considered I think simply rolling the engine back to the
minimum functional use is the best course of action here.
this effectively only changes the engine behavior to once again set
item.type=file on actual files while making it no longer require
kdelibs4support.
Test Plan:
in engine explorer requesting a directory gives unaltered directory data,
when requesting a file it correctly sets the type to file
Reviewers: davidedmundson
Reviewed By: davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D21765
* Make dataengines work fully standalone
* Fix panel icon sizing
There's still an issue with the popup size when resizing the vertical panel smaller so it collapses
* Implement keyboard navigation for the list with focus hacks...
Delete key closes notifications or groups, Arrow left/right expand/collapse groups, Enter invokes default action, if any
* Fix DND times that are supposed to be hidden showing
ModelContextMenu doesn't respect "visible" property
* Move "Notifications" header to ListView header so it scrolls away and leaves more room for the notifications in systray popup
* Fix finished jobs in history showing as failed when app is closed
* Don't remember apps that spawned jobs, only for notifications
* Use CriticalNotification window type (patches pending)
Avoids plasmashell freezing when the player app is unresponsive or has a broken MPRIS implementation
Differential Revision: https://phabricator.kde.org/D20661
It is supposed to broadcast application job progress to multiple interested parties.
However, effectively it was just plasmashell. Cut the middleman, including its never finished and unused UI,
and talk to plasmashell directly.
The applicationjobs dataengine is adjusted to use the new infrastructure instead.
Since it works only in the same process now, Unity launcher API is used to at least broadcast basic
application progress information for use in e.g. Latte Dock.
Also, introduce JobViewServerV2 and JobViewV3 APIs which are using desktop entries for identification rather
than application names, and more importantly are extensible using a QVariantMap hints, so adding new
fields in the future should be significantly less painful with Frameworks, Applications, and Plasma all having
their own release schedule. :)
* Ship some more default rules in plasmanotifyrc
* Improved do not disturb menu (add "for 4 hours" and "until disabled")
* Expand unread notifications by default, overall improved expansion/collapse handling
* Show unread count in panel and reset when plasmoid is closed again
* Move notification sanitizer and its test from dataengine to lib
* Load pixmaps into model also for files and limit their physical size
* Enforce maximum limit for notifications (1000...)
- Rename some of the classes:
NotificationServer -> Server (there's namespaces, you know)
NotificationModel -> NotificationsModel (so it's plural like JobsModel)
- Introduce NotificationGroupingCollapse
- Wire up PulseAudio-qt for eventual notification silence in dnd mode
- Touch up notification looks
- Add indentation and "line" for grouped plasmoids
- Rethink "show more" button to be at the end
- Fix buttons overlapping
- Remove NotificationDelegate item and do those few adjustments in FullRepresentation
- Cleanup job details, handle when processed > total
- Use States {} more
- Show low urgency popups by default but don't add them to history
- Old dataengine is fully functional now
Except the inhibition stuff but I'm not sure if this is worth keeping the way it is
- "More" menu opens on press now and highlights
- Invoking any action closes the notification now
KNotification explicitly does that for us but e.g. GTK does not
- Add clear button for history
- Restore kbroadcastnotification support
- Allow forgetting seen application (for KCM)
- Let users "create" notifications by calling NotificationServer::add
- When no application name is provided look up the sender's process name as last resort
- Add kdebugsettings categories file
- Cleanup, pimpl NotificationServer and Notification for export
- Wire the old dataengine up to use it for compat:
it shows notifications but is otherwise pretty broken right now
- Start writing kconfigxt and Settings code (no real code yet)
- Add a Inhibition DBus interface (no actual server-side code yet)
- Group notifications by application
Pretty much tasks grouping model from libtaskmanager slightly adjusted
- Let widget take full height when expanded in vertical panel "side bar usecase"
- Fix bugs here and there