As requested by Usability we'll assume a job finished successfully as the most likely case
and only keep the notification persistent in case of an error.
This makes dealing with files significantly less annoying.
Differential Revision: https://phabricator.kde.org/D2223
181869e636b415cdf84eeeb98a5359186721b368 in plasma-framework removed
compatibility code for loading plugins. This was apparently still used
by the notification plasmoid, which caused it not to be loaded.
Removing the stray entry makes it load (test plan: plasmoidviewer -a
org.kde.plasma.notifications).
CCMAIL: faure@kde.org
The change back to a MouseEventListener broke notification actions because
its onClicked handler would fire before the action buttons closing the
notification before it had a chance to trigger the action.
Differential Revision: https://phabricator.kde.org/D1578
Otherwise we end up with a huge notification containing all previously finished jobs.
BUG: 360156
FIXED-IN: 5.7.0
Differential Revision: https://phabricator.kde.org/D1478
restore plasma 4 behavior on correctly closing the notification
popup when clicking anywhere on it.
only on master as requires recent frameworks to work correctly.
BUG:361531
This simplifies the component by removing the Loader-property combo and
leaves just a read-only TextEdit
BUG: 358981
Reviewers: #plasma
Subscribers: plasma-devel
Projects: #plasma
Differential Revision: https://phabricator.kde.org/D899
Force the whole thing to collapse if the children are invisible.
If there is a big notification followed by a small one, the height
of the popup does not always shrink back, so this forces it to
height = 0 when those are invisible. -1 means "default to
implicitHeight"
For some reason I have not yet fully identified, the notification popup
can get its y coord reset to 0 on resizing. This is a workaround but
fixes an annoying problem.
Now with the geometry being correct right after the popup is
being displayed, it can be placed directly to its exact intended
position (compared to sliding from default position because the
geometry was not known).
This should fix any issues left with the popups flying across
the screen and removes tons of code as a bonus.
REVIEW: 126668
The bug happens because the binary part of the applet sends out the
available screen resolution _before_ the applet is fully loaded AND also
whenever the screen changes in any way. This works fine with the non-
auto hiding panel because once the panel gets loaded, it changes the
available screen area (cause the part where panel is is reserved and
windows cannot go there) and that change is told to the binary part of
the applet and that part tells the positioning part.
However with the auto-hiding panel the signal about the changed
available screen space never arrives because the panel does not take
that space when it loads. And so the applet was left with "available
screen space = 0x0" because the first signal is sent out before the
applet is fully loaded.
So the obvious fix is to simply ask for the available screen space
_after_ the applet has finished loading.
BUG: 357652
FIXED-IN: 5.5.4
This patch does this:
* moves the screen handling code from the import into
the applet baseclass, which can access the containment
available screen rect and watch for screen changes
* fixes the applet config dialog's custom screen position
setting which has a bug of always being enabled
* consolidates duplicated code in the helper import
into functions
* ensures that popups have correct positions when on
screen that does not start with y=0 (and x=0 in some
cases too)
REVIEW: 126408
CCBUG: 353966
CCBUG: 356461
It's nice that we offer to configure an application's notification settings
from a notification. Usually, however, you're lost in a dialog of notifications
and you have no idea which event you just saw.
CHANGELOG: When pressing the "configure" button on a notification, the actual
notification type will be pre-selected in the upcoming notifications list
REVIEW: 126570
It can happen that the onAppletLocationChanged() slot gets called before
init(), making init() reset the calculated position from the slot.
CCBUG: 356461
The globalConfig() in ctor returns a non-(yet-)existing KConfigGroup
which makes it always return the default value. So the config access
must be delayed for init().
Custom notification position is now correctly remembered.
BUG: 356419
FIXED-IN: 5.5.1
This slot gets triggered also on popup hiding, which is unwanted.
Should also prevent a crash when unloading notifications applet while
there is an active popup on screen.
BUG: 356402
FIXED-IN: 5.5.1
The notifications popup positioning recently regressed
by some other changes (looks like Qt) and the popups
would fly across the screen.
The proper solution is using KWin effect but given how
close the release is, this needs to be dealt with in a
different way.
The main problem is calculating the initial popup size
because as long as the Dialog is invisible, it has an
incorrect geometry, so it needs to be positioned right
after it's being displayed. The Dialog however gets the
sizes even later, so the code now calls a slot from Dialog
that ensures the sizes are correct before the initial
placement on screen. It's not ideal but I'm out of ideas
otherwise. Plus it should be only temporary until the
KWin effect will replace it.
Besides that, it moves the custom position handling from the
QML into the C++ applet class, making it easier.
REVIEW: 126221
BUG: 355069
FIXED-IN: 5.5.0
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