taking colors for the svg and text from ColorScope makes it work
on the inverted areas, such as the plasma mobile top bar.
disable the text selection by mouse on mobile as well
the config buttons to configure each individual notification
- Battery and device notifier go into Hardware category
- Clipboard goes to SystemServices category
- Notifications and media controller go to ApplicationStatus category
This reworks the notification sizing computation to use Layouts. This
should fix all the popup sizing issues there are (including a binding
loop error).
Now it also properly elides after max 4 lines of text.
REVIEW: 124149
FIXED-IN: 5.3.2
BUG: 339588
BUG: 349142
According to Kai:
"object literal is more performant
same with [] vs new Array()
also you should avoid putting the keys in ""
{"foo": bar} is also less performant than {foo: bar} :)"
And so I did to his bidding.
Reviewed-by: Kai Uwe Broulik
With the previous patch, now everything has "notification N" source
name, so there's needed another way to detect that it's a job's
notification.
Reviewed-by: Kai Uwe Broulik
As notifications support <img/> tags, it can happen that a big image is
sent and that is then painted even outside of the popup's frame. So we
need to clip it.
BUG: 346419
FIXED-IN: 5.3.1
DataSources source is a QStringList property which means changes within cannot be tracked
causing all the job delegates to be destroyed and re-created when sourcesChanged is emitted.
This is pretty wasteful and also causes the delegates to lose their state (eg. details expanded)
REVIEW: 123502
BUG: 346673
FIXED-IN: 5.3.1
There's a bug with MouseArea which causes the containsMouse to not be
updated when the Item moves away from below the mouse while the mouse is
not being moved. This should help at least with those cases where the
notification gets stuck.
Reviewed-by: Kai Uwe Broulik
CCBUG: 345973
Modify applicationjobs dataengine so that "error" value
now contains job's error code and "errorText" error message.
This depends on commit 812d0b440e7f08e3acdd1c9bb95779bd871b75b3
to kjobwidgets.
REVIEW: 122928
Check for job error when job finishes and in case of error, set notification
summary to "%job_message%: Error", body to error text and clears the
actions (no open url).
It only works with jobs that actually sets the error text (KJob::setErrorText),
because KJob::error is not exposed in dataengine.
REVIEW: 122921
Especially the first ones ("Just now", "10s ago", "30s ago") come in quick succession
making it feel weird for them to only update when opening the dialog.
It also simplifies the code thanks to triggeredOnStart
REVIEW: 122230
Especially the first ones ("Just now", "10s ago", "30s ago") come in quick succession
making it feel weird for them to only update when opening the dialog.
It also simplifies the code thanks to triggeredOnStart
REVIEW: 122230
There were situations when the same notification popup could be be
inserted twice into the available popups list, breaking the positioning
as it would create more notifications than it was able to but they would
never get closed and would offset the whole stack.
One of such scenarios was when user manually closed the popup with the
close button. After it was hidden, the hiding timer still went on to
fire and close it again, causing the above.
Should be all fixed now.
BUG: 342605