This makes it a bit more generic. Advertise that this may also be used to indicate what email account a notification came from.
Differential Revision: https://phabricator.kde.org/D21137
Summary: The action buttons were missing a visual indication of when they were being pressed so this patch adds it by drawing another an animated rectangle when the button is pressed.
Test Plan: {F6819154}
Reviewers: #vdg, #plasma, ngraham, davidedmundson
Reviewed By: #vdg, #plasma, ngraham, davidedmundson
Subscribers: broulik, abetts, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D21062
- Fix leak and crash when job goes away before being shown
- Some emit and signal fixes
- Always create services watchers
- Update unity job percentage in destructor, fixes the progress lingering around when disabling in settings
Also tell the world that we're merely proxying a job progress
- Don't hardcode KIO error codes
- Honor "show critical on top of full screen" setting
- Don't show generic "dialog-information" icon, it's pointlessly generic
Summary:
- Port to QQC2+Kirigami FormLayout style, except for the SpinBox which cannot handle decimal values well in the QQC2 version
- Use standard import names
- Adjust some strings to sound a bit more natural
Test Plan:
Tested with all the variants (CPU, network, etc). All features still work and settings
are saved and loaded properly.
{F6814614}
Reviewers: #vdg, #plasma, filipf
Reviewed By: #vdg, filipf
Subscribers: filipf, plasma-devel
Tags: #plasma
Maniphest Tasks: T10586
Differential Revision: https://phabricator.kde.org/D21074
Summary:
The actual mask is now queried from the panel, there is no more need
for this.
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: davidedmundson, mvourlakos, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D21013
* Use index(n, m, parent) instead of parent.child(n, m)
* Update unity count when job is closed without stopping it first
* Iterate whole dataChanged range [topLeft, bottomRight] when group is resolved
* Generate roleNames from meta object
* Use checkIndex()
* Increase default timeout for notifications with thumbnail
* Improved keyboard nav, support Home/End, let Return open thumbnail
Summary:
The mask of a panel depends on things like borders set or window size,
but nothing else on it. So it should be updated as last in the queue of
things to update.
There might be still state changes not properly propagated, but this is
a move in the more expected direction.
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: apol, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D21012
Summary: Should in some odd case (language) the color wallpaper's "Color:" label be longer than "Layout:" or "Wallpaper Type:" we can ensure the alignment between parent and child layout will not be broken.
Test Plan:
This patch ie. alias works thanks to D20313.
Before:
{F6803859}
After:
{F6803860}
Reviewers: #plasma, ngraham
Reviewed By: ngraham
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D20965
Summary:
Currently, when you log in you can see a short freeze which looks bad. This patch adds some feedback by disabling and reducing the opacity of the controls after you begin the login (a busy cursor wouldn't work well, because it only changes when you move the mouse).
{F6800357}
Test Plan: Log in to a user.
Reviewers: #plasma, #vdg, ngraham
Reviewed By: #vdg, ngraham
Subscribers: ngraham, #vdg, plasma-devel, #plasma
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D20902
Summary:
- Port to QQC2+Kirigami FormLayout style
- Adjust some strings to be more natural
- Use radio buttons instead of a two-item combobox
Test Plan:
Everything works.
{F6793395}
Reviewers: #vdg, #plasma, filipf
Reviewed By: #vdg, filipf
Subscribers: filipf, plasma-devel
Tags: #plasma
Maniphest Tasks: T10586
Differential Revision: https://phabricator.kde.org/D20829
* 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
Summary:
After D20623, some icons change a bit. This patch keeps the delegate using a trash can
icon, and it's more semantically correct as well to use `edit-delete` over `list-remove`
Test Plan: {F6778140, size=full}
Reviewers: broulik
Reviewed By: broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D20637
Summary:
Due to a bug SvgItem had effectively ignoring the value of the smooth
property and acted as if it was "true".
With the bug now fixed, the "false" value as set during hand animation
now is effective again. As result for sensitive eyes this results in
visual glitches, while nobody before ever complained about performance
issues (also does Qt API claim that "In Qt Quick 2.0, this property has
minimal impact on performance.". i.e. linear interpolation vs nearest
neighbor filters as also done in the SvgItem implementation has not
a big effect).
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D20561
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...)
Summary:
Currently the shadow offset of the hands as well as the rotation center of
the hands is hard-coded to match the light model and the hands shape of the
Breeze theme. As well did some older change to move the rotation center to
width/2 in y direction break older themes which relied on the y=0 offset.
This patch adds the option for themes to control the shadow offset as well
as define the rotation offset for each hand (to avoid the need to create
large pixmaps as workaround with empty space to match the assumption of
the center to be at (width/2, width/2), by these new hints:
One shadow offset for all hands, as the simulated physical model can be
assumed to have all hands almost on same layer (also matching that we have
only one shadow for stacked objects, like windows, elsewhere):
* hint-hands-shadow-offset-to-west/hint-hands-shadows-offset-to-east
* hint-hands-shadow-offset-to-north/hint-hands-shadow-offset-to-south
(west vs. east & north vs. south as negative rect size is not possible).
If no hint is set, defaults to 0.
The default of 0 is a small breakage, but almost all themes from
store.kde.org do not use a shadow, also was the hour shadow broken/not shown
until recently and only fixed for upcoming Plasma 5.16, where the offset of
the shadows was tuned as well, so any themes with hand shadows will need
some tuning for Plasma 5.16 in any case.
Separate rotation offsets for all hands & their shadows, so pixmaps can be
as small as needed, with no transparent area padding needed:
* hint-hourhand-rotation-center-offset
* hint-hourhandshadow-rotation-center-offset
* hint-minutehand-rotation-center-offset
* hint-minutehandshadow-rotation-center-offset
* hint-secondhand-rotation-center-offset
* hint-secondhandshadow-rotation-center-offset
The offset is taken from the center of the hint element, relative
to the position of the hand element, so visually in the SVG file
the hint element directly marks the rotation center for the hand.
If no hint is set, defaults to (width/2, width/2).
Test Plan:
Clocks of unmodified themes from store.kde.org still look as before.
Themes with hints added have shadows at proper place as well as rotation
center of hands at the expected offset.
Reviewers: #plasma, #vdg, mart, davidedmundson, ngraham
Reviewed By: #plasma, #vdg, mart, ngraham
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D20112
Summary:
It is not uncommon to run the same command repeatedly. In this case,
the history is actually unchanged - the item is removed from the first
position, and prepended again.
Test Plan:
run the same command twice, config file is not rewritten
run a new command, config is updated
Reviewers: #plasma, broulik, apol
Reviewed By: #plasma, broulik
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D20383
Summary:
Plasma themes might define non-full-rect shapes for panels (e.g. round
borders for panels not filling the whole width/height).
The old code tells the window manager to blur the full rect of a panel
window, resulting in unwanted artifacts around the panel shape for
non-full-rect themed panels.
With the Panel.qml item of the desktop packages exposing some optional
"panelMask" property now, we can query for the shape and only use the
painted area when telling the window manager where to blur behind or
changing the background contrast.
This also follows the logic as already applied for dialogs or other window
elements like tooltips which are rendered using a Plasma theme.
Test Plan:
The Oxygen Plasma theme no longer has blurry corners on panel edges.
Also still works as before when using non-composing window manager.
Reviewers: #plasma, mart
Reviewed By: #plasma, mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D20204
- 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
Summary:
Porting to Kirigami.FormLayout and using twinFormLayouts in order to ensure alignment with the main layout.
NOTE: Vertical spacing is still clearly wrong, but I could fix that as well if someone could offer a suggestion on how to do it.
Test Plan:
D19932 needed before testing.
Before:
{F6707737}
After:
{F6707739}
Before:
{F6707742}
After:
{F6707740}
Everything still worked.
Reviewers: #plasma, ngraham, mart, hein
Reviewed By: #plasma, ngraham, mart, hein
Subscribers: hein, davidre, mart, abetts, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D19873
- Rework compact representation animations a bit
For some reason they often got stuck
- Implement do not disturb mode for applications
- Add fallback timeout to ensure notifications eventually timeout
Otherwise when disabling dnd mode you will get spammed
and we would also keep apps running indefinitely waiting for the notification to close
- Install plasmanotifyrc with some sane defaults
So far only lets Spectacle show its screenshot notifications in dnd mode
- Introduce Closable role rather than hardcoding that behavior everywhere in the view
- Better app identification/grouping for jobs
- Be more lenient about app identification (firefox will match Firefox, too)
- Cleanups
- Add basic do not disturb mode
Can set a time until it enabled, persisted across reboots
Whitelist for apps missing right not
Inhibition API not wired up yet
- d-pointer JobDetails
- Use KFilePlacesModel for prettier destUrl reporting "Copying to Home"
- Expose default action in history as button
- Improved right-to-left language support
- Let NotificationServer just lurk (without registering a service)
- Catch when plasmoid is deleted and stick to another one